草庐IT

TypeScript 条件语句

全部标签

javascript - 如何在 JSON 中使用 if 语句?

如何在JSON中使用if语句下面是代码:..........................................................................................varconfig=[{"name":"SiteTitle","bgcolor":"","color":"","position":"TL","text":"step1","time":5000},{"name":"Jawal","bgcolor":"","color":"","text":"step2","position":"BL","time":5000},{"n

javascript - 如何创建可以处理条件的 JSON 对象?

我想创建一个可以处理条件/分支的JSON对象。具体来说,我有如下工作流程:对于第1步,用户有三个选择,根据他们做出的选择,他们会看到一组不同的第2步选择。相同的逻辑延伸到第3步,依此类推。理想情况下,我希望所有这些数据都采用JSON格式,这样我就可以遍历它并根据用户的选择确定接下来需要向他们展示的选择。有没有一种方法可以构建一个JSON对象(或者可能只是一个数组),让我可以这样做?我应该提一下,我希望它足够灵活,这样如果我以后决定更改某个步骤的选择数量,那么我所要做的就是修改JSON对象/数组(模型)而无需修改循环遍历对象/数组的逻辑。非常感谢。 最佳答案

javascript - if 语句导致 TypeError : Cannont call unchain of undefined

我在我的Handlebars模板中使用了if语句。if语句有效,但是当您尝试更改路由时,它会导致UncaughtTypeError:Cannotcallmethod'unchain'ofundefined。我在下面的jsbin中重现了错误演示:http://emberjs.jsbin.com/UnUVorUn/9代码:http://emberjs.jsbin.com/UnUVorUn/9/edit 最佳答案 你的问题发生是因为你的IsLink以大写字母开头,有一个bug在Handlebars模板中使用时,已在1.3.0中修复。但是如

javascript - 在 typescript/angular2 中使用 openlayer3

我有一个使用openLayer3的Javascript代码。我需要在angular2项目中使用Typescript实现此代码。有人知道如何将openlayer与angular2/Typescript一起使用吗?非常感谢,约翰 最佳答案 1。选项A(使用AngularCLI)在您的.angular-cli.json(位于您的项目根目录)中添加Openlayers3:..."styles":["../node_modules/openlayers/dist/ol.css"],"scripts":["../node_modules/ope

javascript - React setState 中的竞争条件

问题:一个组件的多个子组件几乎同时触发了事件。这些事件中的每一个都由handleChange风格的函数处理,这些函数使用React的不变性助手将复杂对象合并到控制组件的状态中,通过类似于;this.setState(React.addons.update(this.state,{$merge:new_value_object}));这在事件独立触发时工作正常,但当多个事件以这种方式导致状态更新时,每个事件都单独从状态的旧版本合并。IE。(伪代码,不打算执行)。functionlogState(){console.log(this.state)}logState();//{foo:'',

javascript - 在不转换异步函数的情况下编译 typescript

有没有办法只使用TypeScript编译器来删除类型注释,而不是转译异步函数?像{target:'esInfinite'}选项之类的东西?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。示例输入:asyncfunctionfoo(a:number):Promise{}示例输出:asyncfunctionfoo(a){} 最佳答案 在您的tsconfig.json中,将您的目标更改为ES2017,然后它将保留async/await。{"compilerOptions":{....."target":"ES

javascript - 在 Angular 2/TypeScript 中使用 Google API

这里之前的一个问题让我(希望)大部分时间都能正常工作,但我似乎无法从TypeScript获得GoogleAPI。我基本上遵循这个例子:https://developers.google.com/api-client-library/javascript/samples/samples我没有看到错误,只是没有触发运行API调用的方法。我已经安装了gapi和gapi.auth的类型。initClient()不会抛出任何错误,它似乎永远不会完成。当前用户以Google用户身份登录,但尚未获得调用API的授权。那是我接下来要处理的事情,但现在甚至都没有打电话。正如您在下面看到的,我在未被调用的

javascript - 导出/导入语句中使用和不使用大括号符号有什么区别?

我是ES6的新手,对类的导出和导入方式有点困惑。似乎许多不同的符号都是有效的,但工作方式不同。我在src/web-api.js中写了一个这样的类:classWebApi{//...}export{WebApi};我导入的是:import{WebApi}from'./src/web-api.js'这工作正常,但在我尝试没有花括号的同样的事情之前它没有工作:exportWebApi;//Tellsme'{'expectedimportWebApifrom'./src/web-api.js';//NosyntaxerrorbutWebApiisundefined即使在MDNdocumenta

javascript - 三元语句是否比 javascript 中的 if/then/else 语句更快?

我看到了很多:varsomething=(is_something_true())?3:4;在javascript中。这比varsomething;if(is_something_true()){something=3;}else{something=4;}还是为了方便写得简明扼要? 最佳答案 请享受这个——如果差异在统计上是有效的,那么结果(真或假)也很重要——显然这只是机器上影响浏览器性能的其他东西:Hereisthelink两者之间有一个根本的区别,三元语句是表达式而不是控制流。如果有人将它写成三元表达式而不是标准的if/th

javascript - 我如何在 typescript 中声明一个 'monkey patched' 原型(prototype)

我正在为webgl-utils.js创建一个d.ts文件来自谷歌我对最后一行中的一个全局对象中的方法“猴子修补”有疑问(我认为这是正确的术语)问题行如下:/***ProvidesrequestAnimationFrameinacrossbrowserway.*/window.requestAnimFrame=(function(){returnwindow.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimation